using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("AdventureMissionDisplay")]
	public class AdventureMissionDisplay : MonoBehaviour
	{
		[Attribute38("AdventureMissionDisplay.BossCreateParams")]
		public class BossCreateParams : MonoClass
		{
			public ScenarioDbfRecord m_ScenarioRecord => method_3<ScenarioDbfRecord>("m_ScenarioRecord");

			public ScenarioDbId m_MissionId => method_2<ScenarioDbId>("m_MissionId");

			public string m_CardDefId => method_4("m_CardDefId");

			public BossCreateParams(IntPtr address, string className)
				: base(address, className)
			{
			}

			public BossCreateParams(IntPtr address)
				: this(address, "BossCreateParams")
			{
			}
		}

		[Attribute38("AdventureMissionDisplay.WingCreateParams")]
		public class WingCreateParams : MonoClass
		{
			public AdventureWingDef m_WingDef => method_3<AdventureWingDef>("m_WingDef");

			public List<BossCreateParams> m_BossCreateParams => method_3<Class271<BossCreateParams>>("m_BossCreateParams")?.method_25();

			public WingCreateParams(IntPtr address, string className)
				: base(address, className)
			{
			}

			public WingCreateParams(IntPtr address)
				: this(address, "WingCreateParams")
			{
			}
		}

		[Attribute38("AdventureMissionDisplay.BossInfo")]
		public class BossInfo : MonoClass
		{
			public string m_Title => method_4("m_Title");

			public string m_Description => method_4("m_Description");

			public BossInfo(IntPtr address, string className)
				: base(address, className)
			{
			}

			public BossInfo(IntPtr address)
				: this(address, "BossInfo")
			{
			}
		}

		public enum ProgressStep
		{
			INVALID,
			WING_COINS_AND_CHESTS_UPDATED
		}

		public GameObject m_BossWingContainer => method_3<GameObject>("m_BossWingContainer");

		public UberText m_BossTitle => method_3<UberText>("m_BossTitle");

		public UberText m_BossDescription => method_3<UberText>("m_BossDescription");

		public UberText m_AdventureTitle => method_3<UberText>("m_AdventureTitle");

		public PegUIElement m_BackButton => method_3<PegUIElement>("m_BackButton");

		public PlayButton m_ChooseButton => method_3<PlayButton>("m_ChooseButton");

		public GameObject m_BossPortraitContainer => method_3<GameObject>("m_BossPortraitContainer");

		public GameObject m_BossPowerContainer => method_3<GameObject>("m_BossPowerContainer");

		public PegUIElement m_BossPowerHoverArea => method_3<PegUIElement>("m_BossPowerHoverArea");

		public float m_BossPowerCardScale => method_2<float>("m_BossPowerCardScale");

		public MeshRenderer m_WatermarkIcon => method_3<MeshRenderer>("m_WatermarkIcon");

		public AdventureRewardsDisplayArea m_RewardsDisplay => method_3<AdventureRewardsDisplayArea>("m_RewardsDisplay");

		public GameObject m_ClickBlocker => method_3<GameObject>("m_ClickBlocker");

		public float m_CoinFlipDelayTime => method_2<float>("m_CoinFlipDelayTime");

		public float m_CoinFlipAnimationTime => method_2<float>("m_CoinFlipAnimationTime");

		public UIBScrollable m_ScrollBar => method_3<UIBScrollable>("m_ScrollBar");

		public AdventureRewardsPreview m_PreviewPane => method_3<AdventureRewardsPreview>("m_PreviewPane");

		public AdventureMissionDisplayTray m_advMissionDisplayTray => method_3<AdventureMissionDisplayTray>("m_advMissionDisplayTray");

		public Vector3 m_BossWingOffset => method_2<Vector3>("m_BossWingOffset");

		public AdventureWingProgressDisplay m_progressDisplay => method_3<AdventureWingProgressDisplay>("m_progressDisplay");

		public List<AdventureWing> m_BossWings => method_3<Class271<AdventureWing>>("m_BossWings")?.method_25();

		public GameObject m_BossWingBorder => method_3<GameObject>("m_BossWingBorder");

		public AdventureBossCoin m_SelectedCoin => method_3<AdventureBossCoin>("m_SelectedCoin");

		public int m_AssetsLoading => method_2<int>("m_AssetsLoading");

		public Actor m_BossActor => method_3<Actor>("m_BossActor");

		public Actor m_BossPowerActor => method_3<Actor>("m_BossPowerActor");

		public Actor m_BossPowerBigCard => method_3<Actor>("m_BossPowerBigCard");

		public FullDef m_SelectedHeroPowerFullDef => method_3<FullDef>("m_SelectedHeroPowerFullDef");

		public int m_DisableSelectionCount => method_2<int>("m_DisableSelectionCount");

		public List<AdventureWing> m_WingsToGiveBigChest => method_3<Class271<AdventureWing>>("m_WingsToGiveBigChest")?.method_25();

		public bool m_ShowingRewardsPreview => method_2<bool>("m_ShowingRewardsPreview");

		public int m_TotalBosses => method_2<int>("m_TotalBosses");

		public int m_TotalBossesDefeated => method_2<int>("m_TotalBossesDefeated");

		public bool m_BossJustDefeated => method_2<bool>("m_BossJustDefeated");

		public bool m_WaitingForClassChallengeUnlocks => method_2<bool>("m_WaitingForClassChallengeUnlocks");

		public int m_ClassChallengeUnlockShowing => method_2<int>("m_ClassChallengeUnlockShowing");

		public MusicPlaylistType m_mainMusic => method_2<MusicPlaylistType>("m_mainMusic");

		public bool m_waitingOnExternalLock => method_2<bool>("m_waitingOnExternalLock");

		public static float s_ScreenBackTransitionDelay => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "AdventureMissionDisplay", "s_ScreenBackTransitionDelay");

		public bool m_showingAdventureCompletePopup => method_2<bool>("m_showingAdventureCompletePopup");

		public static int s_cheat_nextWingToGrantChest => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "AdventureMissionDisplay", "s_cheat_nextWingToGrantChest");

		public Vector3 BossWingOffset => method_11<Vector3>("get_BossWingOffset", Array.Empty<object>());

		public AdventureMissionDisplay(IntPtr address, string className)
			: base(address, className)
		{
		}

		public AdventureMissionDisplay(IntPtr address)
			: this(address, "AdventureMissionDisplay")
		{
		}

		public static AdventureMissionDisplay Get()
		{
			return MonoClass.smethod_15<AdventureMissionDisplay>(TritonHs.MainAssemblyPath, "", "AdventureMissionDisplay", "Get", Array.Empty<object>());
		}

		public static bool OnNavigateBack()
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "AdventureMissionDisplay", "OnNavigateBack", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void Update()
		{
			method_8("Update");
		}

		public bool IsDisabledSelection()
		{
			return method_11<bool>("IsDisabledSelection", Array.Empty<object>());
		}

		public void FireProgressStepCompletedListeners(ProgressStep progress)
		{
			method_8("FireProgressStepCompletedListeners", progress);
		}

		public void UpdateWingPositions()
		{
			method_8("UpdateWingPositions");
		}

		public float HeightForScrollableItem(GameObject go)
		{
			return method_11<float>("HeightForScrollableItem", new object[1] { go });
		}

		public void OnHeroFullDefLoaded(string cardId, FullDef def, object userData)
		{
			method_8("OnHeroFullDefLoaded", cardId, def, userData);
		}

		public void OnHeroPowerFullDefLoaded(string cardId, FullDef def, object userData)
		{
			method_8("OnHeroPowerFullDefLoaded", cardId, def, userData);
		}

		public void OnHeroActorLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnHeroActorLoaded", assetRef, go, callbackData);
		}

		public void OnHeroPowerActorLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnHeroPowerActorLoaded", assetRef, go, callbackData);
		}

		public void OnHeroPowerBigCardLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnHeroPowerBigCardLoaded", assetRef, go, callbackData);
		}

		public Actor OnActorLoaded(AssetReference assetRef, GameObject actorObject, GameObject container)
		{
			return method_14<Actor>("OnActorLoaded", new object[3] { assetRef, actorObject, container });
		}

		public void AddAssetToLoad(int assetCount)
		{
			method_8("AddAssetToLoad", assetCount);
		}

		public void AssetLoadCompleted()
		{
			method_8("AssetLoadCompleted");
		}

		public void OnSubSceneLoaded()
		{
			method_8("OnSubSceneLoaded");
		}

		public void OnSubSceneTransitionComplete()
		{
			method_8("OnSubSceneTransitionComplete");
		}

		public void OnBackButtonPress(UIEvent e)
		{
			method_8("OnBackButtonPress", e);
		}

		public void OnZeroCostTransactionStoreExit(bool authorizationBackButtonPressed, object userData)
		{
			method_8("OnZeroCostTransactionStoreExit", authorizationBackButtonPressed, userData);
		}

		public void OnBossSelected(AdventureBossCoin coin, ScenarioDbId mission, bool playerSelected)
		{
			method_8("OnBossSelected", coin, mission, playerSelected);
		}

		public void PlayMissionQuote(AdventureBossDef bossDef, Vector3 position)
		{
			method_8("PlayMissionQuote", bossDef, position);
		}

		public Vector3 DetermineCharacterQuotePos(GameObject coin)
		{
			return method_11<Vector3>("DetermineCharacterQuotePos", new object[1] { coin });
		}

		public void ShowBossFrame(ScenarioDbId mission)
		{
			method_8("ShowBossFrame", mission);
		}

		public void UnselectBoss()
		{
			method_8("UnselectBoss");
		}

		public void ShowHeroPowerBigCard()
		{
			method_8("ShowHeroPowerBigCard");
		}

		public void HideHeroPowerBigCard()
		{
			method_8("HideHeroPowerBigCard");
		}

		public void ChangeToDeckPicker()
		{
			method_8("ChangeToDeckPicker");
		}

		public void GetExternalUILock()
		{
			method_8("GetExternalUILock");
		}

		public void ReleaseExternalUILock()
		{
			method_8("ReleaseExternalUILock");
		}

		public void DisableSelection(bool yes)
		{
			method_8("DisableSelection", yes);
		}

		public void CheckForWingUnlocks()
		{
			method_8("CheckForWingUnlocks");
		}

		public void ShowAdventureCompletePopup()
		{
			method_8("ShowAdventureCompletePopup");
		}

		public void AdventureCompletePopupDismissed(object userData)
		{
			method_8("AdventureCompletePopupDismissed", userData);
		}

		public void PositionReward(Reward reward)
		{
			method_8("PositionReward", reward);
		}

		public void OnRewardObjectLoaded(Reward reward, object callbackData)
		{
			method_8("OnRewardObjectLoaded", reward, callbackData);
		}

		public List<WingCreateParams> BuildWingCreateParamsList()
		{
			return method_14<Class271<WingCreateParams>>("BuildWingCreateParamsList", Array.Empty<object>())?.method_25();
		}

		public int WingCreateParamsSortComparison(WingCreateParams params1, WingCreateParams params2)
		{
			return method_11<int>("WingCreateParamsSortComparison", new object[2] { params1, params2 });
		}

		public int BossCreateParamsSortComparison(BossCreateParams params1, BossCreateParams params2)
		{
			return method_11<int>("BossCreateParamsSortComparison", new object[2] { params1, params2 });
		}

		public int WingUnlockOrderSortComparison(AdventureWing wing1, AdventureWing wing2)
		{
			return method_11<int>("WingUnlockOrderSortComparison", new object[2] { wing1, wing2 });
		}

		public void ShowAdventureStore(AdventureWing selectedWing)
		{
			method_8("ShowAdventureStore", selectedWing);
		}

		public void OnStoreShown(object userData)
		{
			method_8("OnStoreShown", userData);
		}

		public void OnStoreHidden(object userData)
		{
			method_8("OnStoreHidden", userData);
		}

		public void OnAdventureProgressUpdate(bool isStartupAction, AdventureMission.WingProgress oldProgress, AdventureMission.WingProgress newProgress, object userData)
		{
			method_8("OnAdventureProgressUpdate", isStartupAction, oldProgress, newProgress, userData);
		}

		public void OnHideRewardsPreview()
		{
			method_8("OnHideRewardsPreview");
		}

		public void OnStartUnlockPlate(AdventureWing wing)
		{
			method_8("OnStartUnlockPlate", wing);
		}

		public void OnEndUnlockPlate(AdventureWing wing)
		{
			method_8("OnEndUnlockPlate", wing);
		}

		public void BringWingToFocus(AdventureWing wing)
		{
			method_8("BringWingToFocus", wing);
		}

		public void DoAutoPurchaseWings(AdventureDbId selectedAdv, AdventureModeDbId selectedMode)
		{
			method_8("DoAutoPurchaseWings", selectedAdv, selectedMode);
		}

		public void ResumeMainMusic()
		{
			method_8("ResumeMainMusic");
		}

		public AdventureWing GetNextUnlockedWing(AdventureWingDef currentWingDef)
		{
			return method_14<AdventureWing>("GetNextUnlockedWing", new object[1] { currentWingDef });
		}

		public void Cheat_OpenNextWing()
		{
			method_8("Cheat_OpenNextWing");
		}

		public void Cheat_OpenNextChest()
		{
			method_8("Cheat_OpenNextChest");
		}

		public bool Cheat_AdventureEvent(string eventName)
		{
			return method_11<bool>("Cheat_AdventureEvent", new object[1] { eventName });
		}
	}
}
